The present invention relates to a computer network, and more specifically to a communication controller which controls reception and transfer of data between a computer and a data transmission line.
Functions generally needed between a computer and data transmission line include: 1) an electric/physical interface with the line, 2) connection control of the line, 3) reception signal selection, 4) assembly and decomposition of characters, 5) buffering of data, 6) error control, 7) matching of data transmission speed and processing speed of the computer, 8) transmission control, and 9) assembly and decomposition of messages. A communication controller handles all or a part of these functions, and is provided between the computer and the data transmission line so that the computer can be dedicated to perform high level data processing.
Depending on how to allocate the above-identified functions, the communication controller is classified into a bit buffer scheme, a character buffer scheme, a block buffer scheme, and a message buffer scheme.
The bit buffer scheme is a scheme in which the communication controller takes charge up to assembly of the received bits, and the computer takes charge of the process after character assembly. The character buffer scheme is a scheme in which the communication controller assembles received bits into a character, and the assembled character is transferred to a main memory of the computer. The block buffer scheme is a scheme in which the communication controller performs the buffering of a transmission block, and clean data is transferred to the memory of the computer. The message buffer scheme is a scheme in which the communication controller performs assembly and decomposition of the transmission message. These schemes can be further classified into a number of schemes in terms of detailed functions to be performed. The boundary of the communication controller and the computer changes depending on the design of the system.
Patent Application Publication (Kokai) No. 54-78039 describes a system wherein buffer memories 7 and 7xe2x80x2 are provided for each line between a communication controller 1 and a processor 6, and the processor 6 performs interruption processing for each line and reads out information from the buffer memory according to the line for batch processing.
Kokai 5-292102 and 5-316124 describe a data transmission system wherein a communication control IC included in an electronic control unit (ECU) controls transmission of message to a network bus and reception of message from the network bus.
Usually, the transmitted data contain data which do not require immediate processing and data which require immediate processing. For instance, in the on-board computer network described in Kokai 5-292102 and Kokai 5-316124, data indicating a temperature of cooling water and transmitted to a transmission ECU from an engine ECU need not be processed immediately because the data is not the type which concerns a parameter that changes instantaneously. For instance, a processing delay of about one second does not become a problem. On the other hand, for example, when the transmission ECU handles a speed change, it is necessary to delay ignition timing of the engine and to decrease output torque of the engine temporarily so as to make a smooth connection of the clutch. This processing should be performed within about one millisecond, and therefore, data relating to the transmission ECU requesting the engine ECU to decrease torque should be processed immediately in the engine ECU.
A conventional communication controller does not carry out processes according to urgency and the type of such data. If the frequency by which data is transferred from communication controller to data processor is set high to meet the needs of data of high urgency, the load of data processor increases and the performance of the entire data processing decreases.
Therefore, it is an advantage of embodiments of the present invention to provide a system that performs speedy processing of data requiring urgency without causing substantial increase of the load of the data processor.
To address the above-mentioned problem, a communication controller of an embodiment of the invention comprises a storage for storing the data of the message being received, a determining unit for determining types of message being received, and a transmission controller for generating interruption requests at different timing for transferring data to the data processor responsive to the determining unit.
According to an embodiment of the present invention, interruption requests to transfer data are generated at different timing according to the types of the message. That is, for instance, an interruption request is generated immediately for the message of the type which requires urgency. An interruption request is generated by another criteria relative to a message which is not urgent. Therefore, data which requires urgency is transferred to a data processor speedily without interrupting the data processor too frequently. Thus, an efficient system operation is achieved.
In accordance with one aspect of the invention, in a computer system having a data processor and a communication controller that controls data reception to the data processor, the communication controller comprises a storage for storing data of a received message, a determining unit for determining whether the received message requires immediate processing or not, and a transmission controller for generating an interruption request to transfer data stored in the storage in response to a determination by the determining unit that the message received requires immediate processing, wherein when interruption takes place, data in the storage, which have been stored by that time and are yet to be transferred, are transferred to the data processor.
When data which require immediate processing are transferred, data which have been stored in the storage by then are transferred together so that data which require immediate processing are transferred speedily without substantially increasing a frequency of interruption to the data processor. Thus, an efficient system operation is achieved.
In accordance with another aspect of the invention, when the message which requires immediate processing is not received, as data stored in the storage reach a predetermined amount, the transmission controller generates an interruption request for transferring the data. According to such an aspect of the invention, data which do not require immediate processing are processed without causing excessive delay.
In accordance with a further aspect of the invention, when the message which requires immediate processing is not received, as a predetermined time passes from a time a first one of the data is stored in the storage, the transmission controller generates an interruption request for transferring the data in the storage. According to such further aspect of the invention, even when an amount of the data transmission is small, data are processed without excessive delay.
According to yet another aspect of the invention, a communication controller comprises a plurality of storage units for storing data of received messages, a selection unit for selecting one of the plurality of the storage units according to a type of the received message and having the data of the message stored therein, wherein a transfer of data stored in the storage units to a data processor is controlled according to the type of the message. The plurality of storage units physically can be one memory where a plurality of different storage areas are allocated.
According to such an aspect of the invention, data which the communication controller receives are stored in different storage units according to its type, and transfer to the data processor is controlled according to the type of data so that, for instance, data which require immediate processing are transferred immediately to the data processor and data which do not require immediate processing are treated according to the type, whereby an efficient system operation is accomplished without increasing the load of the data processor.
According to another aspect of the invention, in a communication controller as described above, the message includes a data field where data is stored and a type field which stores a code by which the above-mentioned type is shown, the type field being placed before the data field. According to such an aspect of the invention, the communication controller can promptly start preparation for making an interruption request to the data processor, thereby enabling efficient operation of the system.
According to yet another aspect of the invention, a communication controller comprises a first buffer for storing the data of a message of a type which requires immediate processing and a second buffer storing data of a message of a type which does not require immediate processing, wherein when data are stored in the first buffer, an interruption request is sent to a data processor at a higher priority and the data in the second buffer are transferred together with the data in the first buffer when the latter is transferred. According to such an aspect of the invention, the system can operate in conformity with a requirement for immediate processing of data without substantially increasing a frequency of interruption to the data processor.